#include <stdio.h>
#include <assert.h>
#include <stdlib.h>
#include <stdbool.h>

#define INIT_CAPACITY 4
typedef int STDataType;
typedef struct Stack
{
    STDataType* a;
    int top;
    int capacity;
}ST;

//栈的初始化
void STInit(ST* ps);
//栈的销毁
void STDestroy(ST* ps);
//入栈
void STPush(ST* ps, STDataType x);
//出栈
void STPop(ST* ps);
//取栈顶元素
STDataType STTop(ST* ps);
//获取栈中有效元素个数
int STSize(ST* ps);
///栈是否为空
bool STEmpty(ST* ps);